package com.xueyi.aixihu.service;

import com.xueyi.aixihu.exception.SzException;
import com.xueyi.aixihu.reqeust.AuditFinanceReq;
import com.xueyi.aixihu.reqeust.FindAuditFinanceDto;
import com.xueyi.aixihu.reqeust.OpenNewsReq;
import com.xueyi.aixihu.reqeust.TableData;
import com.xueyi.aixihu.response.FinanceDetailVo;
import com.xueyi.aixihu.response.FindAuditFinanceVo;

/**
 * @author lvyi
 * @date : 2023/6/29
 * @Description :
 */
public interface FinanceAuditService {
    /**
     * 是否公开镇级财务公开
     *
     * @param openNewsReq
     * @return
     * @throws SzException
     */
    Boolean openFinanceByZJCW(OpenNewsReq openNewsReq) throws SzException;

    /**
     * 审核镇级财务公开
     *
     * @param auditFinanceReq
     * @return
     */
    Boolean auditFinanceByZJCW(AuditFinanceReq auditFinanceReq) throws SzException;


    /**
     * 审核三资 + 财务公开
     *
     * @param auditFinanceReq
     * @throws SzException
     */
    void auditFinance(AuditFinanceReq auditFinanceReq) throws SzException;

    /**
     * 报表转为草稿
     *
     * @param id
     */
    void changeCaoGao(Integer id) throws SzException;

    /**
     * 查询报表信息
     *
     * @param findAuditFinanceDto
     * @return
     */
    TableData<FindAuditFinanceVo> findAuditFinance(FindAuditFinanceDto findAuditFinanceDto) throws SzException;


    /**
     * 查询报表的详情信息
     *
     * @param financeId
     * @return
     */
    FinanceDetailVo findAuditFinanceDetail(Integer financeId) throws SzException;
}
